﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JeuDeDames;

namespace JeuDeDames
{
    public class CaseNoire : Case
    {
        public Piece piece;

        public CaseNoire(int pos, Piece p)
        {
            position = pos;
            piece = p;
        } //CaseNoire()

        public CaseNoire(int pos) : this(pos, null)
        {
    
        } //CaseNoire()


        public bool estPromouvable(CaseNoire caseArrive)
        {
            if(caseArrive.piece.pion)
            {
                bool drap=false;
                foreach( int indice in this.piece.joueur.indicePromote) /*Chaque joueur possede 5 cases (ligne du fond) où 
                                                                     * si un pions est sur ces cases, il se transforme en dame.
                                                                     * On verifie donc si la case passé en paramètre */
                {
                    if (indice == caseArrive.position)
                        drap=true;
                }
                return drap;
            }
            else
            {
                return false;
            }
        } //estPromouvable()

        public void promotion(CaseNoire caseArrive)
        {
            if(estPromouvable(caseArrive))
            {
                Piece dame = new Dame(caseArrive.piece.couleur, caseArrive.piece.position, caseArrive.piece.joueur, true);
                caseArrive.piece=dame;
            }
        } //Promotion()

        public override string ToString()
        {
            if (piece != null)
                return piece.ToString();
            else
                return " ";
        } //ToString()

        public bool estVide()
        {
            if (this.piece != null)
            {
                return false;
            }
            else
            {
                return true;
            }
        } //estVide()
    }
}